ESTRATO
T_VIVIENDA
ESTRATO y VIVIENDA
AGUA
AGUA y ESTRATO
AGUA Y METROS
AGUA, ELECTRICIDAD Y GAS
AGUA, ELECTRICIDAD, GAS y
ESTRATO
AGUA, ELECTRICIDAD y GAS por
mes
T_VIVIENDA y AGUA, ELECTRICIDAD Y
GAS
Análisis de la estructura del gasto de los hogares el cual constituye el insumo básico para la selección de bienes y servicios que configuran la canasta familiar durante junio a diciembre de 2019 y enero a febrero de 2020 en Lima.
El análisis de la estructura del gasto de los hogares es fundamental para comprender cómo se distribuyen los recursos económicos en la selección de bienes y servicios que conforman la canasta familiar. Este estudio proporciona información valiosa sobre los patrones de consumo de los hogares. Además, el análisis del gasto también sirve como punto de referencia para evaluar cambios en el comportamiento del consumo a lo largo del tiempo, lo cual puede ser útil para la formulación de políticas públicas y estrategias de desarrollo económico.
En junio del 2019, se llevó a cabo un estudio exhaustivo para examinar detalladamente cómo los hogares asignan sus ingresos en distintas categorías de gasto. La información se recopiló a través de encuestas. Luego, este estudio proporcionó una base de datos y resultados iniciales sobre la estructura del gasto de los hogares en ese momento. Sin embargo, para tener una visión más completa y actualizada, también se explorarán los resultados obtenidos desde enero y febrero del 2020. Esto permitirá analizar la evolución del gasto de los hogares y comprender cómo ha sido afectado por eventos o cambios en la economía a lo largo del tiempo.
El proceso de recolección de datos para este proyecto se basó en el catálogo del INEI (Instituto Nacional de Estadística e Informática) titulado “Encuesta Familiar de Presupuestos Familiares, 2019-2020”. Esta base de datos fue seleccionada debido a varias razones y condiciones que la hicieron adecuada para el estudio como lo son las siguientes:
Representatividad: El proceso de recolección de datos se basó en la Encuesta Familiar de Presupuestos Familiares del INEI, ampliamente reconocida y utilizada en estudios socio-económicos, garantizando datos representativos a nivel nacional.
Detalle de categorías de gasto: El catálogo del INEI ofrece una clasificación detallada de las categorías de gasto, como agua, luz y gas, permitiendo un análisis preciso de la estructura del gasto de los hogares.
Calidad de los datos: Los datos recolectados del INEI son de alta calidad, gracias a los rigurosos estándares metodológicos aplicados en su recopilación.
Acceso a la base de datos: El INEI brindó información actualizada y confiable, ahorrando tiempo y recursos en comparación con la recolección de datos mediante encuestas propias.
La población de estudio está definida como el conjunto de todas las viviendas particulares y sus ocupantes residentes en el área urbana y rural de Lima. Aunque en la encuesta se haya entrevistado a toda la nación, en nuestra investigación únicamente se trabajará con Lima; esto se realizará gracias a una posterior limpieza en la base de datos usando la variable UBIGEO.
El INEI recopilo toda esta información gracias al censo nacional de Población y vivienda 2017.
La unidad primaria de muestreo es el conglomerado y la unidad muestral secundaria es la vivienda particular.
Es un muestreo probabilístico por conglomerados donde la población está particionada en conglomerados disjuntos, similares entre sí. Primero se toma una muestra aleatoria simple de los conglomerados y luego se toma una muestra aleatoria simple de cada conglomerado seleccionado.
La muestra tiene una cantidad de 3728 observaciones. Sin embargo, el tamaño original que usó el INEI fue basado en la Encuesta Nacional de Presupuestos Familiares 2008 – 2009; por lo cual, la muestra anual en el ámbito nacional es de 41,358 viviendas particulares, las cuales están agrupadas en 6,710 conglomerados.
Aquí se muestran los datos específicos usados en la muestra original:
En el área urbana la muestra corresponde a 39,162 viviendas, las cuales están agrupadas en 6,527 conglomerados.
En el área rural la muestra corresponde a 2,196 viviendas, las cuales están agrupadas en 183 conglomerados.
En el área urbana, el número de viviendas seleccionadas por conglomerado es igual a seis (6) y, en el área rural es igual a doce (12).
Cabe recalcar, que se redujo drásticamente la cantidad de observaciones debido a la rigurosa limpieza elaborada para llegar a una base de datos final que servirá para el análisis propuesto por nuestro equipo.
| VARIABLE | TIPO DE VARIABLE | RESTRICCIONES |
|---|---|---|
| ANIO | V. cualitativa ordinal | Solo tiene dos opciones las cuales son 2019 y 2020 que son los años en los que se elaboró la investigación. |
| MES | V. cualitativa ordinal | Se hace uso de todos los meses de un año en formato número (01, 02 hasta el 12). |
| ESTRATO | V. cualitativa ordinal | Se clasifican en 6 estratos los cuales son alto, medio alto, medio, medio bajo, bajo y rural. |
| T_VIVIENDA | V. cualitativa nominal | Se dividen en 4 tipos los cuales son casa, departamento, quinta y vecindad. |
| VIVIENDA | V. cualitativa nominal | Se dividen en 7 formas de la cual se consiguió o se obtuvo la vivienda, las cuales son alquilada, propia, propia por invasión, propia a plazos, cedida por trabajo, cedida y otro. |
| FUENTE_AGUA | V. cualitativa nominal | Se dividen en 7 formas de conseguir el servicio de agua como lo son red pública (dentro), red pública (fuera), pozo séptico, pozo ciego, río o sequía, campo abierto y otro. |
| ANTIGUEDAD | V. cuantitativa discreta | Es un número entero positivo que representa la cantidad de años desde que se estrenó la vivienda. |
| METROS | V. cuantitativa discreta | Es un número entero positivo que representa el área en metros cuadrados de la vivienda. |
| AGUA | V. cuantitativa continua | Es un número decimal positivo que representa la cantidad en soles en gasto de agua por familia. |
| ELECTRICIDAD | V. cuantitativa continua | Es un número decimal positivo que representa la cantidad en soles en gasto de electricidad por familia. |
| GAS | V. cuantitativa continua | Es un número decimal positivo que representa la cantidad en soles en gasto de gas por familia. |
Primero, se debe instalar las siguientes librerías, necesarias para la ejecución del código.
# Solo se descomenta y se ejecuta las librerías que no se tienen instaladas
#install.packages("readr")
#install.packages("plyr")
#install.packages("dplyr")
#install.packages("tidyr")
#install.packages("plotrix")
#install.packages("ggplot2")
#install.packages("gridExtra")
#install.packages("fmsb")
#install.packages("scales")
#install.packages("plotly")
#install.packages("reshape2")
La recomendación es instalar primero todas las librerías y luego recién darle al botón de “Run All”, sino podrían salir errores.
Luego, cargamos las librerías al entorno.
library(readr)
## Warning: package 'readr' was built under R version 4.1.3
library(plyr)
## Warning: package 'plyr' was built under R version 4.1.3
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.1.3
library(tidyr)
## Warning: package 'tidyr' was built under R version 4.1.3
library(plotrix)
library(ggplot2)
library(gridExtra)
## Warning: package 'gridExtra' was built under R version 4.1.3
library(fmsb)
## Warning: package 'fmsb' was built under R version 4.1.3
library(scales)
## Warning: package 'scales' was built under R version 4.1.3
library(plotly)
## Warning: package 'plotly' was built under R version 4.1.3
library(reshape2)
## Warning: package 'reshape2' was built under R version 4.1.3
CAP100<-read_csv("ENAPREF_CAP100.csv", locale =locale(encoding = "UTF-8"))
CAP100
## # A tibble: 45,436 x 515
## ANIO MES CONGLOMERADO NSELV HOGAR_ID UBIGEO DOMINIO ESTRATO PERIODO RESFIN
## <dbl> <chr> <chr> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <dbl>
## 1 2019 06 12082 0002 1 021801 1 3 1 1
## 2 2019 06 12082 0057 1 021801 1 3 1 1
## 3 2019 06 12082 0084 1 021801 1 3 1 1
## 4 2019 06 12085 0020 1 021801 1 5 1 1
## 5 2019 06 12085 0078 1 021801 1 5 1 1
## 6 2019 06 12085 0103 1 021801 1 5 1 1
## 7 2019 06 12085 0126 1 021801 1 5 1 1
## 8 2019 06 12102 0002 1 021801 1 4 1 1
## 9 2019 06 12102 0051 1 021801 1 4 1 1
## 10 2019 06 12102 0068 1 021801 1 4 1 1
## # i 45,426 more rows
## # i 505 more variables: REEMPLAZO <dbl>, P101 <dbl>, P102 <dbl>,
## # P102_COD <chr>, P102A <dbl>, P103 <dbl>, P104_1 <dbl>, P104_1_A <dbl>,
## # P104_1_B_1 <dbl>, P104_1_C_1 <dbl>, P104_1_B_2 <dbl>, P104_1_C_2 <dbl>,
## # P104_1_B_3 <dbl>, P104_1_C_3 <dbl>, P104_1_B_4 <dbl>, P104_1_C_4 <lgl>,
## # P104_1_B_5 <dbl>, P104_1_C_5 <lgl>, P104_2 <dbl>, P104_2_A <dbl>,
## # P104_2_B_1 <dbl>, P104_2_C_1 <dbl>, P104_2_B_2 <dbl>, P104_2_C_2 <dbl>, ...
Función de redondeo a dos decimales.
r <- function(n){
round(n, 2)
}
Cantidad de observaciones y variables.
dim(CAP100)
## [1] 45436 515
Se observan 45436 observaciones y 515 variables.
Se muestran los ubigeos.
unique(CAP100$UBIGEO)
Necesitamos los datos que pertenecen al departamento de Lima, por ello seleccionamos los ubigeos que comienzan en 150.
LIMA <- subset(CAP100, substr(UBIGEO, 1, 3) == "150")
LIMA
## # A tibble: 7,978 x 515
## ANIO MES CONGLOMERADO NSELV HOGAR_ID UBIGEO DOMINIO ESTRATO PERIODO RESFIN
## <dbl> <chr> <chr> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <dbl>
## 1 2019 06 24679 0007 1 150101 1 3 1 1
## 2 2019 06 24679 0030 1 150101 1 3 1 1
## 3 2019 06 24679 0092 1 150101 1 3 1 1
## 4 2019 06 24679 0103 1 150101 1 3 1 1
## 5 2019 06 24923 0075 1 150101 1 3 1 1
## 6 2019 06 24923 0144 1 150101 1 3 1 1
## 7 2019 06 24968 0191 1 150101 1 2 1 1
## 8 2019 06 24968 0192 1 150101 1 2 1 1
## 9 2019 06 24968 0237 1 150101 1 2 1 1
## 10 2019 06 1895502 0023 1 150106 1 2 1 1
## # i 7,968 more rows
## # i 505 more variables: REEMPLAZO <dbl>, P101 <dbl>, P102 <dbl>,
## # P102_COD <chr>, P102A <dbl>, P103 <dbl>, P104_1 <dbl>, P104_1_A <dbl>,
## # P104_1_B_1 <dbl>, P104_1_C_1 <dbl>, P104_1_B_2 <dbl>, P104_1_C_2 <dbl>,
## # P104_1_B_3 <dbl>, P104_1_C_3 <dbl>, P104_1_B_4 <dbl>, P104_1_C_4 <lgl>,
## # P104_1_B_5 <dbl>, P104_1_C_5 <lgl>, P104_2 <dbl>, P104_2_A <dbl>,
## # P104_2_B_1 <dbl>, P104_2_C_1 <dbl>, P104_2_B_2 <dbl>, P104_2_C_2 <dbl>, ...
Cantidad de observaciones y variables actualizadas.
dim(LIMA)
## [1] 7978 515
Ahora, se observan 7978 observaciones con 515 variables.
Seleccionamos las columnas necesarias para la investigación y creamos un nuevo dataframe.
LIMA1 <- LIMA[, c("ANIO", "MES", "ESTRATO", "P101","P102","P105","P119","P120","I110_A1","I110_A2","I110_A3","P111_C1_ENT")]
LIMA1
## # A tibble: 7,978 x 12
## ANIO MES ESTRATO P101 P102 P105 P119 P120 I110_A1 I110_A2 I110_A3
## <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2019 06 3 1 2 1 35 120 26 45 38
## 2 2019 06 3 1 2 1 60 140 25 45 38
## 3 2019 06 3 1 2 1 20 100 22 39 52
## 4 2019 06 3 1 2 1 70 50 20 75 38
## 5 2019 06 3 1 2 1 77 280 70 290 NA
## 6 2019 06 3 2 1 2 5 90 20 29 NA
## 7 2019 06 2 2 4 1 4 45 NA 19.5 NA
## 8 2019 06 2 2 4 1 5 75 NA 20 NA
## 9 2019 06 2 2 1 1 50 89 NA 49.8 NA
## 10 2019 06 2 1 2 4 2 110 25 30 NA
## # i 7,968 more rows
## # i 1 more variable: P111_C1_ENT <dbl>
Se trabaja con 12 variables.
Con ayuda del diccionario del INEI se renombró las variables por uno más legible y se guardan los cambios en un nuevo dataframe.
LIMA2<-rename(LIMA1,ESTRATO=`ESTRATO`, T_VIVIENDA=`P101`,
VIVIENDA=`P102`,
FUENTE_AGUA=`P105`,
ANTIGUEDAD=`P119`,
METROS=`P120`,
AGUA=`I110_A1`,
ELECTRICIDAD=`I110_A2`,
GAS_NATURAL=`I110_A3`,
GAS_PROP=`P111_C1_ENT`)
LIMA2
## # A tibble: 7,978 x 12
## ANIO MES ESTRATO T_VIVIENDA VIVIENDA FUENTE_AGUA ANTIGUEDAD METROS AGUA
## <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2019 06 3 1 2 1 35 120 26
## 2 2019 06 3 1 2 1 60 140 25
## 3 2019 06 3 1 2 1 20 100 22
## 4 2019 06 3 1 2 1 70 50 20
## 5 2019 06 3 1 2 1 77 280 70
## 6 2019 06 3 2 1 2 5 90 20
## 7 2019 06 2 2 4 1 4 45 NA
## 8 2019 06 2 2 4 1 5 75 NA
## 9 2019 06 2 2 1 1 50 89 NA
## 10 2019 06 2 1 2 4 2 110 25
## # i 7,968 more rows
## # i 3 more variables: ELECTRICIDAD <dbl>, GAS_NATURAL <dbl>, GAS_PROP <dbl>
Se muestra la cantidad de datos faltantes en todo el dataframe.
sum(is.na(LIMA2))
## [1] 35937
Se observa la cantidad de casos completos e incompletos.
sum(complete.cases(LIMA2)) # casos completos
## [1] 12
sum(!complete.cases(LIMA2))# casos incompletos
## [1] 7966
Hasta el momento se ve muy pocos datos completos, sin embargo esto será arreglado posteriormente.
Para disminuir la cantidad de datos NA se crea la variable
GAS donde se almacenará la cantidad de gas propano o gas
natural que se usa.
# Se almacena uno de los gases
GAS <- apply(LIMA2[, c("GAS_NATURAL", "GAS_PROP")], 1, sum, na.rm = TRUE)
# Agregar la columna unión a la base de datos
LIMA2$GAS <- GAS
# Imprimir la base de datos actualizada
LIMA2
## # A tibble: 7,978 x 13
## ANIO MES ESTRATO T_VIVIENDA VIVIENDA FUENTE_AGUA ANTIGUEDAD METROS AGUA
## <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2019 06 3 1 2 1 35 120 26
## 2 2019 06 3 1 2 1 60 140 25
## 3 2019 06 3 1 2 1 20 100 22
## 4 2019 06 3 1 2 1 70 50 20
## 5 2019 06 3 1 2 1 77 280 70
## 6 2019 06 3 2 1 2 5 90 20
## 7 2019 06 2 2 4 1 4 45 NA
## 8 2019 06 2 2 4 1 5 75 NA
## 9 2019 06 2 2 1 1 50 89 NA
## 10 2019 06 2 1 2 4 2 110 25
## # i 7,968 more rows
## # i 4 more variables: ELECTRICIDAD <dbl>, GAS_NATURAL <dbl>, GAS_PROP <dbl>,
## # GAS <dbl>
Se elimina las variables GAS_NATURAL Y
GAS_PROP
LIMA2$GAS_NATURAL <- NULL
LIMA2$GAS_PROP <- NULL
LIMA2
## # A tibble: 7,978 x 11
## ANIO MES ESTRATO T_VIVIENDA VIVIENDA FUENTE_AGUA ANTIGUEDAD METROS AGUA
## <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2019 06 3 1 2 1 35 120 26
## 2 2019 06 3 1 2 1 60 140 25
## 3 2019 06 3 1 2 1 20 100 22
## 4 2019 06 3 1 2 1 70 50 20
## 5 2019 06 3 1 2 1 77 280 70
## 6 2019 06 3 2 1 2 5 90 20
## 7 2019 06 2 2 4 1 4 45 NA
## 8 2019 06 2 2 4 1 5 75 NA
## 9 2019 06 2 2 1 1 50 89 NA
## 10 2019 06 2 1 2 4 2 110 25
## # i 7,968 more rows
## # i 2 more variables: ELECTRICIDAD <dbl>, GAS <dbl>
Ahora, se vuelvo a ver los datos faltantes y casos completos
sum(is.na(LIMA2)) # datos faltantes
## [1] 24154
sum(complete.cases(LIMA2)) # casos completos
## [1] 3728
sum(!complete.cases(LIMA2))# casos incompletos
## [1] 4250
Con la limpieza anterior se ha aumentado drásticamente la cantidad de casos completos y se bajó la cantidad de datos faltantes. Sin embargo, aún hay demasiados NAs.
Se filtran solo las observaciones completas, con el objetivo de trabajar de forma más factible.
LIMA2 <- LIMA2[apply(LIMA2, 1, function(x) sum(is.na(x))) < 1, ] # observaciones con menos de un NA (completas)
LIMA2
## # A tibble: 3,728 x 11
## ANIO MES ESTRATO T_VIVIENDA VIVIENDA FUENTE_AGUA ANTIGUEDAD METROS AGUA
## <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2019 06 3 1 2 1 35 120 26
## 2 2019 06 3 1 2 1 60 140 25
## 3 2019 06 3 1 2 1 20 100 22
## 4 2019 06 3 1 2 1 70 50 20
## 5 2019 06 3 1 2 1 77 280 70
## 6 2019 06 3 2 1 2 5 90 20
## 7 2019 06 2 1 2 4 2 110 25
## 8 2019 06 2 1 2 4 4 110 60
## 9 2019 06 2 1 2 4 1 50 30
## 10 2019 06 2 1 2 4 9 110 10
## # i 3,718 more rows
## # i 2 more variables: ELECTRICIDAD <dbl>, GAS <dbl>
Se muestra los datos faltantes y casos completos actualizados
sum(is.na(LIMA2)) # datos faltantes
## [1] 0
sum(complete.cases(LIMA2)) # casos completos
## [1] 3728
sum(!complete.cases(LIMA2))# casos incompletos
## [1] 0
Con la filtración anterior se eliminaron todos los casos incompletos, quedando un total de 3728 casos completos. Se debe tener en cuenta que no se dejó los valores NA porque no permitía trabajar en las comparaciones de variables que se hará posteriormente y por el sesgo que generaría al reemplazar un NA con algún otro valor; además, el completado de datos faltantes es un tópico que no se ve en el curso de este proyecto, por lo que se optó por la decisión de quedarnos únicamente con observaciones completas.
Creamos una nueva base de datos llamada LIMA3 que será
con la que se trabajará a lo largo de este proyecto. En la cual las
respuestas a las variables cualitativas con números serán cambiadas a
palabras, con el objetivo de una mejor visualización.
LIMA3<-LIMA2
LIMA3
## # A tibble: 3,728 x 11
## ANIO MES ESTRATO T_VIVIENDA VIVIENDA FUENTE_AGUA ANTIGUEDAD METROS AGUA
## <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2019 06 3 1 2 1 35 120 26
## 2 2019 06 3 1 2 1 60 140 25
## 3 2019 06 3 1 2 1 20 100 22
## 4 2019 06 3 1 2 1 70 50 20
## 5 2019 06 3 1 2 1 77 280 70
## 6 2019 06 3 2 1 2 5 90 20
## 7 2019 06 2 1 2 4 2 110 25
## 8 2019 06 2 1 2 4 4 110 60
## 9 2019 06 2 1 2 4 1 50 30
## 10 2019 06 2 1 2 4 9 110 10
## # i 3,718 more rows
## # i 2 more variables: ELECTRICIDAD <dbl>, GAS <dbl>
ESTRATOSe observan las respuestas únicas.
unique(LIMA3$ESTRATO)
## [1] 3 2 5 4 1 6
Se cambió los resultados de acuerdo a su nombre según el diccionario de la base de datos del INEI.
LIMA3 <- LIMA3 %>%
mutate(ESTRATO = recode(ESTRATO, "1" = "Alto","2" = "Medio Alto","3" = "Medio","4" = "Medio Bajo","5" = "Bajo","6"="Rural"))
LIMA3
## # A tibble: 3,728 x 11
## ANIO MES ESTRATO T_VIVIENDA VIVIENDA FUENTE_AGUA ANTIGUEDAD METROS AGUA
## <dbl> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2019 06 Medio 1 2 1 35 120 26
## 2 2019 06 Medio 1 2 1 60 140 25
## 3 2019 06 Medio 1 2 1 20 100 22
## 4 2019 06 Medio 1 2 1 70 50 20
## 5 2019 06 Medio 1 2 1 77 280 70
## 6 2019 06 Medio 2 1 2 5 90 20
## 7 2019 06 Medio Al~ 1 2 4 2 110 25
## 8 2019 06 Medio Al~ 1 2 4 4 110 60
## 9 2019 06 Medio Al~ 1 2 4 1 50 30
## 10 2019 06 Medio Al~ 1 2 4 9 110 10
## # i 3,718 more rows
## # i 2 more variables: ELECTRICIDAD <dbl>, GAS <dbl>
T_VIVIENDASe observan las respuestas únicas.
unique(LIMA3$T_VIVIENDA)
## [1] 1 2 4 3
Se cambió los resultados de acuerdo a su nombre según el diccionario de la base de datos del INEI.
LIMA3 <- LIMA3 %>%
mutate(T_VIVIENDA = recode(T_VIVIENDA, "1" = "Casa","2" = "Departamento","3" = "Quinta","4" = "Vecindad","5" = "Choza","6"="Improvisada","7"="No apto","8"="Otro"))
LIMA3
## # A tibble: 3,728 x 11
## ANIO MES ESTRATO T_VIVIENDA VIVIENDA FUENTE_AGUA ANTIGUEDAD METROS AGUA
## <dbl> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2019 06 Medio Casa 2 1 35 120 26
## 2 2019 06 Medio Casa 2 1 60 140 25
## 3 2019 06 Medio Casa 2 1 20 100 22
## 4 2019 06 Medio Casa 2 1 70 50 20
## 5 2019 06 Medio Casa 2 1 77 280 70
## 6 2019 06 Medio Departame~ 1 2 5 90 20
## 7 2019 06 Medio Al~ Casa 2 4 2 110 25
## 8 2019 06 Medio Al~ Casa 2 4 4 110 60
## 9 2019 06 Medio Al~ Casa 2 4 1 50 30
## 10 2019 06 Medio Al~ Casa 2 4 9 110 10
## # i 3,718 more rows
## # i 2 more variables: ELECTRICIDAD <dbl>, GAS <dbl>
VIVIENDASe observan las respuestas únicas.
unique(LIMA3$VIVIENDA)
## [1] 2 1 6 3 5 4 7
Se cambió los resultados de acuerdo a su nombre según el diccionario de la base de datos del INEI.
LIMA3 <- LIMA3 %>%
mutate(VIVIENDA = recode(VIVIENDA, "1" = "Alquilada","2" = "Propia","3" = "Propia-invasion","4" = "Propia-plazos","5" = "Cedida-trabajo","6"="Cedida","7"="Otro"))
LIMA3
## # A tibble: 3,728 x 11
## ANIO MES ESTRATO T_VIVIENDA VIVIENDA FUENTE_AGUA ANTIGUEDAD METROS AGUA
## <dbl> <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl>
## 1 2019 06 Medio Casa Propia 1 35 120 26
## 2 2019 06 Medio Casa Propia 1 60 140 25
## 3 2019 06 Medio Casa Propia 1 20 100 22
## 4 2019 06 Medio Casa Propia 1 70 50 20
## 5 2019 06 Medio Casa Propia 1 77 280 70
## 6 2019 06 Medio Departame~ Alquila~ 2 5 90 20
## 7 2019 06 Medio Al~ Casa Propia 4 2 110 25
## 8 2019 06 Medio Al~ Casa Propia 4 4 110 60
## 9 2019 06 Medio Al~ Casa Propia 4 1 50 30
## 10 2019 06 Medio Al~ Casa Propia 4 9 110 10
## # i 3,718 more rows
## # i 2 more variables: ELECTRICIDAD <dbl>, GAS <dbl>
FUENTE_AGUASe observan las respuestas únicas.
unique(LIMA3$FUENTE_AGUA)
## [1] 1 2 4 3 8 5 7 6
Se cambió los resultados de acuerdo a su nombre según el diccionario de la base de datos del INEI.
LIMA3 <- LIMA3 %>%
mutate(FUENTE_AGUA = recode(FUENTE_AGUA, "1" = "Red publica(dentro)","2" = "Red publica(fuera)","3" = "Pozo septico","4" = "Pozo ciego","5" = "Rio/sequia","6"="Campo abiero","7"="Otro"))
## Warning: There was 1 warning in `mutate()`.
## i In argument: `FUENTE_AGUA = recode(...)`.
## Caused by warning:
## ! Unreplaced values treated as NA as `.x` is not compatible.
## Please specify replacements exhaustively or supply `.default`.
LIMA3
## # A tibble: 3,728 x 11
## ANIO MES ESTRATO T_VIVIENDA VIVIENDA FUENTE_AGUA ANTIGUEDAD METROS AGUA
## <dbl> <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl>
## 1 2019 06 Medio Casa Propia Red public~ 35 120 26
## 2 2019 06 Medio Casa Propia Red public~ 60 140 25
## 3 2019 06 Medio Casa Propia Red public~ 20 100 22
## 4 2019 06 Medio Casa Propia Red public~ 70 50 20
## 5 2019 06 Medio Casa Propia Red public~ 77 280 70
## 6 2019 06 Medio Departame~ Alquila~ Red public~ 5 90 20
## 7 2019 06 Medio Al~ Casa Propia Pozo ciego 2 110 25
## 8 2019 06 Medio Al~ Casa Propia Pozo ciego 4 110 60
## 9 2019 06 Medio Al~ Casa Propia Pozo ciego 1 50 30
## 10 2019 06 Medio Al~ Casa Propia Pozo ciego 9 110 10
## # i 3,718 more rows
## # i 2 more variables: ELECTRICIDAD <dbl>, GAS <dbl>
Nuestra base de datos final consta de 3728 observaciones sin datos o observaciones vacías. Se han seleccionado cuidadosamente las variables necesarias para comparar los gastos en categorías como agua, gas y electricidad, asegurando así una mayor precisión y confianza en los resultados gracias a la limpieza adecuada de los datos. Al eliminar valores atípicos o errores, nos aseguramos de que los resultados reflejen patrones y tendencias reales en los gastos de los hogares. Esto nos permitirá tomar decisiones más informadas y llegar a conclusiones más sólidas en nuestro estudio. Además, cabe destacar que la base de datos está bien estructurada, con una observación por fila, una variable por columna y un único valor en cada intersección, lo que la hace fácilmente manejable y de alta calidad.
ESTRATOSe analiza la cantidad de personas que fueron entrevistadas.
# Calcular la frecuencia absoluta
frec_abs <- table(LIMA3$ESTRATO)
frec_abs
##
## Alto Bajo Medio Medio Alto Medio Bajo Rural
## 289 1034 967 569 829 40
Comparación de porcentajes de entrevistados.
# Calcular frecuencia relativa
frec_rel <- prop.table(frec_abs)
r(frec_rel*100)
##
## Alto Bajo Medio Medio Alto Medio Bajo Rural
## 7.75 27.74 25.94 15.26 22.24 1.07
Para facilitar la visualización se genera un gráfico de radar que sirve para representar porcentajes. Con este diagrama se puede saber el valor de cada punto del estrato, de esta forma tener un resultado más exacto.
# Creación de tipo de gráfico y de estratos con sus respectivos porcentajes
fig <- plot_ly(
type = 'scatterpolar',
r = c(7.75, 27.74, 25.94, 15.26, 22.24, 1.07),
theta = c("Alto", "Bajo", "Medio", "Medio_Alto", "Medio_Bajo", "Rural"),
fill = 'toself'
)
# Detalles de la gráfica, cómo ver porcentaje de 0 a 100
fig <- fig %>%
layout(
polar = list(
radialaxis = list(
visible = T,
range = c(0,100)
)
),
showlegend = F
)
fig
## No scatterpolar mode specifed:
## Setting the mode to markers
## Read more about this attribute -> https://plotly.com/r/reference/#scatter-mode
Conclusiones:
Del dibujo se infiere que los encuestados en su mayoría pertenecen a
los Estrato Bajo, Estrato Medio, y
Estrato Medio Bajo siendo sus porcentajes 27.74, 25.94 y
22.24. Además, se puede concluir que en Lima no hay demasiadas
comunidades rurales debido que se observa solo un 1.07 encuestado que
viven en zonas rurales.
T_VIVIENDA# Se guardan las frecuencias de cada tipo de vivienda
frecuencias <- table(LIMA3$T_VIVIENDA)
frecuencias
##
## Casa Departamento Quinta Vecindad
## 3098 519 92 19
T_VIVIENDASe crea un gráfica de barras en la que se muestra la cantidad de hogares según el tipo de vivienda . Se escogió este tipo de gráfico debido a que es una relación de datos categóricos con numéricos.
bar<-barplot(frecuencias, horiz = FALSE, col = c("#8DEEEE","#F0E68C","#98FB98","#FFC1C1","#C1FFC1"), border = "black",
xlab = "T_VIVIENDA", ylab = "Cantidad de hogares", main = "TIPO DE VIVIENDA",
cex.axis = 0.8,ylim = c(0, 4000)) # Ajusta el valor según el tamaño deseado
text(bar, table(LIMA3$T_VIVIENDA)+ 150, labels = table(LIMA3$T_VIVIENDA))
grid(nx = NA, ny = NULL, lwd = 1, lty = 1, col = "grey")
Conclusiones:
Al observar la gráfica, es notorio que hay más hogares que viven en casa y departamento, con 3098 y 519 respectivamente. Esto podría ser debido a que Lima principalmente es una ciudad en la cual es mucho más común la vivienda en casas o departamentos como lo seria en un área rural o campestre las quintas. En caso de las vecindades, son muy pocas debido a que estas eran usuales años atrás, además, estos usualmente comparten distintas áreas de la vecindad y podría ser también gastos de los servicios.
ESTRATO y VIVIENDAEsta tabla permite ver la cantidad de encuestados por estrato según el tipo de vivienda.
# Crea la tabla de contingencia
tabla_contingencia <- table(LIMA3$ESTRATO, LIMA3$VIVIENDA)
# Se muestra
tabla_contingencia
##
## Alquilada Cedida Cedida-trabajo Otro Propia Propia-invasion
## Alto 37 21 2 1 200 2
## Bajo 49 93 4 0 738 122
## Medio 129 139 1 0 659 22
## Medio Alto 109 56 3 1 380 2
## Medio Bajo 92 122 4 1 562 45
## Rural 3 7 0 0 30 0
##
## Propia-plazos
## Alto 26
## Bajo 28
## Medio 17
## Medio Alto 18
## Medio Bajo 3
## Rural 0
Se acompaña la tabla de contingencia con este gráfico para una rápida distinción de las cantidades según la proporción de los rectángulos.
# Se crea la relación entre las dos variables
ESTRATOVIVI<-table( LIMA3$VIVIENDA,LIMA3$ESTRATO)
# Gráfico
mosaicplot(ESTRATOVIVI,las = 2,main="VIVIENDA VS ESTRATO" ,col=c("green","orange","purple","lightblue", "yellow","red"))
Conclusiones:
En todos los estratos analizados, la mayoría de los encuestados poseen vivienda propia, totalizando 2569. Esto podría deberse al crecimiento urbano y expansión de la ciudad de Lima, que ha facilitado la construcción y adquisición de viviendas a lo largo del tiempo. El aumento en la propiedad de viviendas propias también puede ser atribuido a los programas gubernamentales y sociales que fomentan la adquisición de viviendas entre la población de bajos ingresos. Estos programas ofrecen incentivos financieros, subsidios y acceso a préstamos con tasas de interés favorables.
Destaca que el estrato bajo es el que registra el mayor número de viviendas propias, con un total de 738. Esto puede ser resultado de las personas de este estrato que optaron por invertir en viviendas propias como una forma de resguardar sus ahorros o como una inversión a largo plazo, considerando la estabilidad y el potencial de valorización de la propiedad inmobiliaria.
AGUAsummary(LIMA3$AGUA)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 2.00 22.00 36.00 43.24 56.00 400.00
El menor gasto en agua es 2 soles, el cual pudo haber sido un error al momento de la anotación, además encontramos que el máximo gasto es de 400 soles.
AGUA y ESTRATOAGUA con ESTRATO bajoSe elabora un gráfico de barras para comparar las distintas fuentes de agua en el estrato rural. Se utiliza este tipo de gráfico para facilitar de distinción entre alturas de barras lo que permite ver el diagrama de forma más intuitiva y saber rápidamente que fuentes de agua son más usadas y cuales no tanto.
# Se selecciona estrato rural
datos_rurales <- LIMA3[LIMA3$ESTRATO == "Bajo", ]
# Se escoge solo gastos en agua
tabla_fuente_agua <- table(datos_rurales$FUENTE_AGUA)
# Gráfico de barras
bp<-barplot(tabla_fuente_agua, col = "lightblue", xlab = "Fuente de Agua", ylab = "Frecuencia", main = "Fuente de Agua en Estrato Bajo", cex.axis = 0.8, cex.names = 0.5, ylim = c(0, 600), xlim= c(0,8))
text(x = bp, y = tabla_fuente_agua, labels = tabla_fuente_agua, pos = 3, cex = 0.9)
Conclusiones:
Se observa una diferencia significativa en los hábitos de gasto entre las personas de estrato bajo y las personas de estrato alto, debido a las diferentes fuentes de obtención de agua a las que tienen acceso.
En el caso de los hogares de estrato bajo, suelen tener usar pozos sépticos(161), pozos ciegos(264), la red pública (552) y en algunos casos campo abierto. Como resultado, los hogares de estrato bajo tienden a gastar menos en promedio en su consumo de agua (S/. 7,28), y esto se debe a que gestionan y hacen uso al máximo los recursos disponibles por enede generan menor costo a diferencia de la red publica.
AGUA con ESTRATO alto# Se selecciona estrato rural
datos_rurales <- LIMA3[LIMA3$ESTRATO == "Alto", ]
# Se escoge solo gastos en agua
tabla_fuente_agua <- table(datos_rurales$FUENTE_AGUA)
# Gráfico de barras
bp<-barplot(tabla_fuente_agua, col = "lightgreen", xlab = "Fuente de Agua", ylab = "Frecuencia", main = "Fuente de Agua en Estrato Alto", cex.axis = 0.8, cex.names = 0.6)
text(x = bp, y = tabla_fuente_agua, labels = tabla_fuente_agua, pos = 1, cex = 0.9)
Conclusiones:
Se observa que los hogares de estrato alto suelen tener acceso exclusivo a la red pública de agua (287), Como consecuencia, las personas de estrato alto suelen tener un gasto promedio mayor en comparación con los hogares de estrato bajo (S/. 59.69), y esto se debe a que el agua proveniente de la red publica si tiene un costo mensual, y como ellos tienen como única fuente de agua,evidentemente pagan mas.
AGUA Y METROSDefinimos nuestra variable dependiente e independiente.
AGUAMETROSLa hipótesis propuesta es que mientras mayor sea el área de la casa mayor será el gasto en el consumo de agua.
modelo <- lm(AGUA ~ METROS, data = LIMA3)
# Crear el gráfico de regresión lineal
plot(LIMA3$METROS, LIMA3$AGUA,
col = "blue",
xlab = "METROS", ylab = "AGUA",
main = "Gráfico de Regresión Lineal")
# Añadir la línea de regresión
abline(modelo, col = "red", lwd = 2)
Creamos un dataframe con los datos de las variables que usamos para
el gráfico de regresión lineal y le asignamos el nombre
datosreg.
datosreg<- data.frame("X"=LIMA3$METROS,"Y"=LIMA3$AGUA)
datosreg
Hallamos la ecuación de regresión.
lm(var_depend ~ var_ind, data)
resultados<-lm(datosreg$Y~datosreg$X,data=datosreg)
resultados
##
## Call:
## lm(formula = datosreg$Y ~ datosreg$X, data = datosreg)
##
## Coefficients:
## (Intercept) datosreg$X
## 31.0848 0.1086
Interpretación:
De aquí se tiene que el modelo es: Intercepto: Beta0= 31.0848,
Pendiente= Beta1=0.1086
==> Modelo lineal: * \[Y =Beta0 +
Beta1*x*\]
==> Reemplazo valores: \[Y=31.0848 +
0.1086*X \] “ecuación de regresión lineal simple”
Ejemplo: si la casa encuestada fuera de 40 m2 entonces, el gasto en agua sería: \[Y=31.0848 + 0.1086*(40)= 35.4288 soles\]
Es decir, si uno de los encuestados tiene una vivienda de 40 m2, su gasto en agua sería 35.4288 soles.
Tabla de valores reales y valores estimados. Valores reales: Son los datos que se tienen en la base de datos LIMA3. Valores estimados: Son los gastos en AGUA que RStudio pronostica, que cada encuestado tendría.
tabla<-data.frame("X"=LIMA3$METROS,"Y"=LIMA3$AGUA,"Y-estimado"=r(31.0848+0.1086*LIMA3$METROS))
tabla
Creamos una tabla con los errores y le asignamos
taberrores, para ver la diferencia entre el gasto real que
tenemos como dato en la base de datosLIMA3 y el estimado de
la variable AGUA por RStudio.
taberrores<-data.frame("X(Metros)"=LIMA3$METROS,"Y(Agua)"=LIMA3$AGUA,"Y-estimado"=r(31.0848+0.1086*LIMA3$METROS),"error"=r(LIMA3$AGUA-(31.0848+0.1086*LIMA3$METROS)))
taberrores
De los resultados obtenidos de la tabla, en algunos casos el error
entre el valor estimado y el real es mínimo, sin embargo se puede
inferir que el gasto en AGUA estimado no siempre es el
mismo que el real. Esto es probable, ya que el GASTO de
agua no solo depende del tamaño(METROS) sino también del
número de habitantes. Por otro lado cada familia tiene diferentes
estilos de vida ya que hay muchos hogares que tienen que pasar mayor
parte del día fuera y solo usan su casa para descansar o también todo lo
contrario, ya que hay hogares donde existe un número considerable de
habitantes (niños, adultos mayores) los cuales si usan AGUA
durante todo el día.
Analizamos la covarianza y el coeficiente de correlación.
#covarianza
r(cov(datosreg$X,datosreg$Y))
## [1] 627.16
#coeficiente de correlación
r(cor(datosreg$X,datosreg$Y))
## [1] 0.27
Conclusiones:
Como la covarianza salió positiva (627.16) esto significa que la relación entre X e Y es directa. Es decir, a medida que la variable METROS(X) aumenta,la variable AGUA(Y) también lo hará.
El coeficiente de correlación es 0.27 > 0 significa que el modelo de regresión lineal es bueno y además la relación es directa.
En general la correlación que existe entre ambas variables es
positiva, ya que a mayor sea el valor de la variable METROS
mayor será el gasto de AGUA. Sin embargo hay que recordar
que no se cumple para todos los casos, ya que esto depende de diferentes
factores.
AGUA, ELECTRICIDAD Y
GAS# Seleccionar las variables de interés
Agua <- LIMA3$AGUA
Electricidad <- LIMA3$ELECTRICIDAD
Gas <- LIMA3$GAS
# Calcular los descriptores numéricos
media1 <- r(mean(LIMA3$AGUA, na.rm=TRUE))
mediana1 <- r(median(LIMA3$AGUA, na.rm=TRUE))
desviacion1 <- r(sd(LIMA3$AGUA, na.rm=TRUE))
minimo1 <- min(LIMA3$AGUA)
maximo1 <- max(LIMA3$AGUA)
media2 <- r(mean(LIMA3$ELECTRICIDAD, na.rm=TRUE))
mediana2 <- r(median(LIMA3$ELECTRICIDAD, na.rm=TRUE))
desviacion2 <- r(sd(LIMA3$ELECTRICIDAD, na.rm=TRUE))
minimo2 <- min(LIMA3$ELECTRICIDAD)
maximo2 <- max(LIMA3$ELECTRICIDAD)
media3 <- r(mean(LIMA3$GAS, na.rm=TRUE))
mediana3 <- r(median(LIMA3$GAS, na.rm=TRUE))
desviacion3 <- r(sd(LIMA3$GAS, na.rm=TRUE))
minimo3 <- min(LIMA3$GAS)
maximo3 <- max(LIMA3$GAS)
# Calcular el coeficiente de variación estándar
coef_var1 <- r(desviacion1 / media1) * 100
coef_var2 <- r(desviacion2 / media2) * 100
coef_var3 <- r(desviacion3 / media3) * 100
# Crear la tabla de descriptores
tabla_descriptores <- data.frame(
Variable = c("Agua", "Electricidad", "Gas"),
Media = c(media1, media2, media3),
Mediana = c(mediana1, mediana2, mediana3),
"Desviación Estándar" = c(desviacion1, desviacion2, desviacion3),
"Coeficiente de Variación Estándar" = c(coef_var1, coef_var2, coef_var3),
Mínimo = c(minimo1, minimo2, minimo3),
Máximo = c(maximo1, maximo2, maximo3)
)
tabla_descriptores
## Variable Media Mediana Desviación.Estándar
## 1 Agua 43.24 36 30.52
## 2 Electricidad 78.41 65 54.34
## 3 Gas 32.93 34 16.30
## Coeficiente.de.Variación.Estándar Mínimo Máximo
## 1 71 2 400
## 2 69 5 500
## 3 49 0 190
Conclusión:
El consumo de electricidad es el más alto entre las variables, con un promedio de 78.42. Esto se debe a la dependencia de los hogares en electrodomésticos y sistemas de iluminación, así como al tamaño de la vivienda y su uso para diversas actividades diarias.
El consumo de agua muestra una variabilidad considerable, con un promedio de 30.52. Algunos hogares tienen consumos más bajos debido a factores como el trabajo fuera de casa y un uso limitado del agua, mientras que otros hogares tienen consumos más altos debido a actividades como cocinar, limpiar, regar jardines o mantener piscinas.
AGUA y
ELECTRICIDADSe elabora una gráfica de dispersión para ver la correlación lineal entre el gasto de agua y electricidad.
# Extrae las columnas AGUA y ELECTRICIDAD
agua <- LIMA3$AGUA
electricidad <- LIMA3$ELECTRICIDAD
# Crea el gráfico de dispersión
plot(agua, electricidad, main = "Correlación entre AGUA y ELECTRICIDAD",
xlab = "AGUA", ylab = "ELECTRICIDAD", col =c("lightgreen"))
# Calcula la línea de tendencia (regresión lineal)
lm_model <- lm(electricidad ~ agua)
abline(lm_model, col = "blue")
Conclusión:
Al observar la gráfica, se concluye que el grado de correlación es bajo, debido a que en una misma cantidad de gasto de agua hay diferentes y tantas cantidades de gasto de electricidad. Por ejemplo, hay personas que gastan 100 soles en agua y gastan 20 soles en electricidad, como también hay personas que gasta lo mismo en agua pero gastan casi 400 soles en electricidad.
ELECTRICIDAD y
GASSe elabora una gráfica de dispersión para ver la correlación lineal entre el gasto de electricidad y gas.
# Extrae las columnas ELECTRICIDAD y GAS
electricidad <- LIMA3$ELECTRICIDAD
gas <- LIMA3$GAS
# Crea el gráfico de dispersión
plot(electricidad, gas, main = "Correlación entre ELECTRICIDAD y GAS",
xlab = "ELECTRICIDAD", ylab = "GAS", col =c("pink"))
# Calcula la línea de tendencia (regresión lineal)
lm_model <- lm(gas ~ electricidad)
abline(lm_model, col = "red")
Conclusión:
Del diagrama, se concluye que el grado de correlación es bajo, debido a que en una misma cantidad de gasto de electricidad hay diferentes y tantas cantidades de gasto de gas. Por ejemplo, hay personas que gastan 100 soles en electricidad y gastan 10 soles en gas, como también hay personas que gastan lo mismo en electricidad pero gastan casi 90 soles en gas.
AGUA y GASSe elabora una gráfica de dispersión para ver la correlación lineal entre el gasto de agua y gas.
# Extrae las columnas AGUA y GAS
agua <- LIMA3$AGUA
gas <- LIMA3$GAS
# Crea el gráfico de dispersión
plot(agua, gas, main = "Correlación entre AGUA y GAS",
xlab = "AGUA", ylab = "GAS", col =c("lightblue"))
# Calcula la línea de tendencia (regresión lineal)
lm_model <- lm(gas ~ agua)
abline(lm_model, col = "black")
Conclusiones:
Al observar la gráfica, se concluye que el grado de correlación es bajo, debido a que en una misma cantidad de gasto de agua hay diferentes y tantas cantidades de gasto de gas. Se toma el ejemplo de que hay personas que consumen 50 soles en agua y 10 soles en gas, por el contrario hay personas que consumen lo mismo de agua pero consumen un poco más de 100 soles en gas.
Conclusión general:
Al haber comparado las correlaciones lineales entre los gastos en los tres servicios se llega a la conclusión notoria de que no existe una dependencia o relación directa entre los consumos entre los tres servicios, prácticamente se podría decir que son independientes si se gasta uno o el otro.
AGUA, ELECTRICIDAD, GAS
y ESTRATOESTRATOTabla de estrato y el promedio de gasto en soles en cada servicio.
LIMA3 %>% group_by(ESTRATO) %>% summarise(Media_AGUA = r(mean(AGUA, na.rm = T)),
Media_LUZ = r(mean(ELECTRICIDAD, na.rm = T)),
Media_GAS = r(mean(GAS, na.rm = T)))
## # A tibble: 6 x 4
## ESTRATO Media_AGUA Media_LUZ Media_GAS
## <chr> <dbl> <dbl> <dbl>
## 1 Alto 59.7 127. 34.5
## 2 Bajo 34.8 56.0 33.2
## 3 Medio 45.2 80.6 32.1
## 4 Medio Alto 48.0 94.6 34.1
## 5 Medio Bajo 44.2 78.3 32.6
## 6 Rural 7.28 28.2 25.9
ESTRATOLa tabla anterior se muestra en un gráfico.
# Agrupar los datos por nivel socio-económico y calcular el gasto promedio de cada servicio
agregado <- aggregate(cbind(AGUA, ELECTRICIDAD, GAS) ~ ESTRATO, data = LIMA3, FUN = mean)
# Gráfico de barras agrupadas
barplot(
t(as.matrix(agregado[, -1])),
beside = TRUE,
col = c("blue", "green", "red"),
ylim = c(0, max(agregado$AGUA, agregado$ELECTRICIDAD, agregado$GAS) * 1.1),
names.arg = agregado$ESTRATO,
xlab = "Nivel Socioeconómico",
ylab = "Gasto",
main = "Gasto de Agua, Electricidad y Gas por Nivel Socioeconómico"
)
legend(
"topright",
legend = c("Agua", "Electricidad", "Gas"),
fill = c("blue", "green", "red")
)
Conclusiones:
Según el gráfico de barras, el gasto promedio de agua, gas y electricidad varía según el estrato social. El estrato social alto presenta los mayores gastos en promedio(59.69, 126.87 y 34.47), superando a los otros estratos en los tres servicios. Aunque los estratos medio alto, medio y medio bajo tienen gastos similares entre sí, el estrato alto muestra una gran diferencia en comparación con el estrato bajo, siendo 97.03 soles la diferencia promedio en los gastos totales de cada servicio. La diferencia entre el estrato alto y el estrato rural es aún mayor, alcanzando los 159.62 soles. Esto sugiere que las personas del estrato social alto gastan más en promedio en servicios como agua, gas y electricidad, mientras que las del estrato rural gastan considerablemente menos. Esto puede deberse a la disponibilidad y uso limitado de servicios en zonas rurales, así como a las diferencias en los costos de los servicios.
En resumen, se puede inferir que a medida que el estrato social de una persona es más alto, tiende a gastar un poco más en promedio en estos servicios en comparación con los estratos inferiores.
AGUA, ELECTRICIDAD y
GAS por mesELECTRICIDAD por mes# Calcular el gasto promedio por mes
promedio_por_mes <- aggregate(ELECTRICIDAD ~ MES + ANIO, data = LIMA3, FUN = mean)
# Redondeo
promedio_por_mes$ELECTRICIDAD <- r(promedio_por_mes$ELECTRICIDAD)
# Gráfico
aa <- ggplot(promedio_por_mes, aes(x = MES, y = ELECTRICIDAD, color = factor(ANIO), group = factor(ANIO))) +
geom_line() +
geom_point(size = 3, color = "black") +
geom_text(aes(label = ELECTRICIDAD), vjust = -0.5, color = "black") +
labs(title = "Gasto promedio por mes de electricidad (2019 vs 2020)",
x = "Mes",
y = "Gasto promedio") +
scale_color_discrete(name = "Año")
aa
Conclusiones:
El gráfico muestra el gasto promedio de cada uno de los meses de los años 2019 y 2020. Al observar la gráfica se aprecia un mayor promedio en el mes 10 (Octubre) del año 2019 con un gasto promedio de electricidad de 89.98 soles, le sigue el mes de julio del mismo año con 84.07 soles, no podemos atribuir ninguna causa en específico para estos monto, sin embargo es conveniente mencionar que en dicho mes es donde se puede apreciar los valores más altos en gasto en electricidad. Por otro lado los gastos promedios más bajos fueron de 72.35 soles en agosto del 2019 y de 72.32 soles para enero del 2020.
AGUA por mes# Calcular el gasto promedio por mes
promedio_por_mesAGUA <- aggregate(AGUA ~ MES + ANIO, data = LIMA3, FUN = mean)
# Redondeo
promedio_por_mesAGUA$AGUA <- r(promedio_por_mesAGUA$AGUA)
# Gráfico
bb <- ggplot(promedio_por_mesAGUA, aes(x = MES, y = AGUA, color = factor(ANIO), group = factor(ANIO))) +
geom_line() +
geom_point(size = 3, color = "black") +
geom_text(aes(label = AGUA), vjust = -0.5, color = "black") +
labs(title = "Gasto promedio por mes de agua (2019 vs 2020)",
x = "Mes",
y = "Gasto promedio") +
scale_color_discrete(name = "Año")
bb
Conclusiones:
El gráfico muestra los gastos promedio de AGUA por meses, entre el promedio máximo y mínimo hay una variación de 7 soles, siendo el mayor gasto 47.01 soles en el mes de octubre del 2019 y el menor de 40.03 soles en el mes de setiembre del mismo año. En general los gastos promedios más altos se muestran para los meses del año 2019.
GAS por mes# Calcular el gasto promedio por mes
promedio_por_mesGAS <- aggregate(GAS ~ MES + ANIO, data = LIMA3, FUN = mean)
promedio_por_mesGAS$GAS <- r(promedio_por_mesGAS$GAS)
# Gráfico
cc <- ggplot(promedio_por_mesGAS, aes(x = MES, y = GAS, color = factor(ANIO), group = factor(ANIO))) +
geom_line() +
geom_point(size = 3, color = "black") +
geom_text(aes(label = GAS), vjust = -1.5, color = "black") +
labs(title = "Gasto promedio por mes de gas (2019 vs 2020)",
x = "Mes",
y = "Gasto promedio") +
scale_color_discrete(name = "Año")
cc
Conclusiones:
Por último la gráfica de los gasto promedios de GAS. El mayor gasto promedio se dio en octubre del 2019 con 34.01 soles, le sigue el mes de julio del 2019 con 33.81 soles, el gasto promedio más bajo del año 2019 se dio en el mes de noviembre con 32 soles. En enero del 2020 el gasto fue de 32.73 soles. Al comparar la variación de los promedios en todos los meses observamos que las variaciones oscilan entre 1 y soles.
Se visualiza las tres gráficas previas juntas.
grid.arrange(aa, bb, cc,ncol = 1)
Conclusiones:
Al visualizar las tres gráficas juntas, es evidente que el mayor gasto promedio para todos los servicios se dio en el mes 10 (Octubre) del 2019. Además hay una tendencia del mes de setiembre a noviembre, de setiembre a octubre el gatos promedio aumenta, luego de octubre a noviembre el gasto vuelve a descender.Lo mismo sucede entre los meses junio y agosto: el promedio aumenta de junio a julio y vuelve a descender de julio a agosto.
T_VIVIENDA y AGUA,
ELECTRICIDAD Y GASTabla para comparar el tipo de vivienda con el promedio de gasto en agua, electricidad y gas.
LIMA3 %>% group_by(T_VIVIENDA) %>% summarise(Media_AGUA = r(mean(AGUA, na.rm = T)), Media_LUZ = r(mean(ELECTRICIDAD, na.rm = T)), Media_GAS = r(mean(GAS, na.rm = T)))
## # A tibble: 4 x 4
## T_VIVIENDA Media_AGUA Media_LUZ Media_GAS
## <chr> <dbl> <dbl> <dbl>
## 1 Casa 42.5 76.2 33.4
## 2 Departamento 48.2 91.8 30.2
## 3 Quinta 43.1 84.2 32.7
## 4 Vecindad 28.9 51.6 32.7
La información previa se muestra en un gráfico de barras por grupos. Se uso de este tipo de gráfico debido a que facilita la comparación de gastos en las variables agua, electricidad y gas con la variable tipo de vivienda.
# Agrupar los datos por tipo de vivienda y calcular el gasto promedio de cada servicio
agregado <- aggregate(cbind(AGUA, ELECTRICIDAD, GAS) ~ T_VIVIENDA, data = LIMA3, FUN = mean)
# Gráfico de barras agrupadas
barplot(
t(as.matrix(agregado[, -1])),
beside = TRUE,
col = c("skyblue", "lightgreen", "pink"),
ylim = c(0, max(agregado$AGUA, agregado$ELECTRICIDAD, agregado$GAS) * 1.1),
names.arg = agregado$T_VIVIENDA,
xlab = "Tipo de vivienda",
ylab = "Gasto",
main = "Gasto de Agua, Electricidad y Gas por Tipo de vivienda"
)
legend(
"topright",
legend = c("Agua", "Electricidad", "Gas"),
fill = c("skyblue", "lightgreen", "pink")
)
Conclusiones:
En resumen, los departamentos muestran un consumo promedio más alto de agua y electricidad en comparación con otras categorías de vivienda, siendo 91.85 y 48.23 respectivamente. Por otro lado, las casas tienen un consumo promedio de gas más elevado (33.39), mientras que los lugares no aptos no presentan ningún gasto en estos servicios. Una posible explicación para estas diferencias es que en los departamentos se incluye el pago por los espacios comunes del edificio, mientras que en las vecindades se comparten servicios básicos entre varios hogares, lo que resulta en un menor gasto individual. Además, el tamaño y las comodidades de las viviendas también influyen en los niveles de consumo.
Se crea un diagrama de cajas para observar la mediana de cada uno de los gastos de forma general. Además se obtendrá la cantidad de datos atípicos.
df <- data.frame(Agua = LIMA3$AGUA,
Electricidad = LIMA3$ELECTRICIDAD,
Gas = LIMA3$GAS)
# Convierte los datos a formato largo (long format)
df_long <- reshape2::melt(df)
# Calcula los valores de Q2 para cada variable
q2_values <- aggregate(value ~ variable, df_long, function(x) quantile(x, 0.5))
# Calcula el número de datos atípicos para cada variable
outliers_count <- aggregate(value ~ variable, df_long, function(x) sum(x < boxplot.stats(x)$stats[1] | x > boxplot.stats(x)$stats[5]))
# Ajusta el tamaño de la visualización de los boxplots
boxplot_theme <- theme(
plot.margin = margin(10, 5, 10, 5) # Ajusta los márgenes de la visualización
)
# Crea el gráfico de boxplots
ggplot(df_long, aes(x = variable, y = value, fill = variable)) +
geom_boxplot() +
geom_point(data = df_long[df_long$value < boxplot.stats(df_long$value)$stats[1] | df_long$value > boxplot.stats(df_long$value)$stats[5], ],
aes(color = variable)) +
labs(x = "Variable", y = "Valor", title = "Boxplots de gastos en agua, electricidad y gas") +
geom_text(data = q2_values, aes(label = paste("Q2 =", value)), x = 1:3, y = q2_values$value, vjust = -1) +
scale_fill_manual(values = c("salmon", "green", "blue"), labels = c("Agua", "Electricidad", "Gas"), name = "Variables") +
geom_text(data = outliers_count, aes(label = value), vjust = -0.5, color = "red") +
boxplot_theme
Conclusiones:
Como podemos observar la cantidad de datos atípicos en las variables
AGUA, ELECTRICIDAD y GAS son 153,
159 y 839 encuestados respectivamente. Este gráfico nos permite observar
de manera general las medianas de cada uno de los gastos de las las
variables AGUA, ELECTRICIDAD y
GAS. Asi se observa un mayor gasto en
ELECTRICIDAD con 65 soles, esto es razonable ya que es un
servicio más caro a comparación del agua el cual es un servicio
elemental. La media del AGUA es 36 soles y la del
GAS es 34 soles el cual era el equivalente a un balón de
gas en aquellos años.